package com.itshi.demo1;

import java.util.Scanner;

/**
 * @author げっしょく
 * @date 2021/7/6
 */
public class water {
    public static void getArr1(int[] arr) {
        int a = arr.length - 1;
        int tum =0;
        System.out.println("数组反转后的结果是");
        for (int i = 0; i<a; i++,a--) {
            tum = arr[i];
            arr[i]=arr[a];
            arr[a]=tum;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
    public static void getArr2(int[] arr) {
        int tmp = 0;
        for(int a =1,b = 3;b<arr.length;a+=2,b+=2){
            tmp = arr[a];
            arr[a] = arr[b];
            arr[b] = tmp;
        }
        System.out.println("数组索引为奇数的交换后的结果是");
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

    public static void getArr3(int[] arr) {
        int a = 0;
        int tmp = 0;
        if(arr.length % 2 == 0){
            a = arr.length - 1;
        }else{
            a = arr.length - 2;
        }
        tmp = arr[1];
        arr[1] = arr[a];
        arr[a] = tmp;
        System.out.println("第一个索引值为奇数和最后一个索引值为奇数交换和的结果是");
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if(i != arr.length - 1){
                System.out.print(arr[i]+", ");
            }else{
                System.out.println(arr[i]+"]");
            }
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int[] arr = new int[6];
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第"+(i+1)+"个数");
            arr[i] = sc.nextInt();
        }
        getArr1(arr); //遍历打印数组
        getArr2(arr); //数组索引为奇数的交换后的结果
        getArr3(arr); //第一个索引值为奇数和最后一个索引值为奇数交换和的结果是
        
    }
}
/*    public static void bianli(int[] arr) {
        for (int i = 0; i < arr.length; i++) {  //遍历整个数组，并将数组中每个数都打印出来
            System.out.println("数组的第" + (i + 1) + "个数为");
            System.out.println(arr[i]);
        }
    }

    public static int getMax(int[] arr) {
        int max = arr[0];    //将数值第一个值设为最大值，可以省略和数组第一个数进行比较在赋值的操作
        for (int i = 1; i < arr.length; i++) {   //遍历数组求出数组中的最大值
            if (max < arr[i]) {
                max = arr[i];
            }
        }
        return max;  //返回数组最大值max
    }

    public static int getMin(int[] arr) {
        int min = arr[0];   //将数值第一个值设为最小值，可以省略和数组第一个数进行比较在赋值的操作
        for (int i = 1; i < arr.length; i++) {  //遍历数组求出数组中的最小值
            if (min > arr[i]) {
                min = arr[i];
            }
        }
        return min;  //返回数组最小值min
    }

    public static int getSum(int[] arr) {
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {    //遍历数组求数组的总和
            sum += arr[i];    //每次循环的出的数组中每个数，并将它相加赋给sum
        }
        return sum;  //返回数组总和值sum
    }

    public static int getTmp(int[] arr) {
        int tup = 0;
        for (int i = 0; i < arr.length; i++) {   //得出数组的总和
            tup += arr[i];
        }
        int tmp = tup / arr.length;   //数组内每个数的总和除以数组能存几个数的大小等于平均值，只是这求出来的是平均值会忽略小数部分
        return tmp;      //如果想要的出小数部分就需要将tup和tmp换成double类型，并且需要将返回值类型和该方法的接收数值的类型都换成double
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);  //创建输入对象
        System.out.println("输入数组的空间大小:");
        int a = sc.nextInt();   //输入数组的大小，决定数组能存入多少个数
        int[] arr = new int[a];
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第" + (i + 1) + "个数");
            arr[i] = sc.nextInt();      //输入数组的每个数
        }
        bianli(arr);  //创建了一个遍历打印数组的方法
        int max = getMax(arr);   //创建了一个求出数组内最大值的方法
        System.out.println("该数组最大值为" + max);
        int min = getMin(arr);  //创建了一个求出数组中最小值的方法
        System.out.println("该数组最小值为" + min);
        int sum = getSum(arr); //创建了一个求数组内所以数的总和的方法
        System.out.println("该数组的总和为" + sum);
        int tmp = getTmp(arr);   //创建了一个求出数组内每个数的平均值
        System.out.println("该数组的平均值为" + tmp);

    }
*/





/*   public static int gethe(int a, int b) {
        Scanner sc = new Scanner(System.in);
        int sum = 0;
        if (a > b) {    //判断a是否比b大，如果比b大那么还没进行运算就结束了
            System.out.println("您输入的数有误！输入1进行将数进行交换，输入其它数直接返回");
            int s = sc.nextInt();
            if (s == 1) {  //当用户输入1时，将传输过来运算错误的值进行交换
                a = a ^ b;
                b = a ^ b;
                a = a ^ b;
            } else {
                return 0;
            }
        }
        for (int i = a; a < b; a++) {
            if (a % 2 == 0) {  //判断数是否为偶数，是偶数就进入内部进入相加
                sum += a;  //后面可以跟i++；因为在阿拉伯数字中按顺序排列都是一个偶数一个奇数；每次经过两次i++之后就都会是偶数
            }
        }
        return sum;  //返回他们的偶数和
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);  //创建对象
        System.out.println("输入你要求的两个偶数和的区间:");
        int sum = sc.nextInt();  //输入两个要求偶数和的区间
        int tmp = sc.nextInt();
        int count = gethe(sum, tmp); //传递两个数给方法进行运算
        System.out.println(count); //打印出给出的两个数之间偶数的和
    }*/




/*
    public static int count(double a, double at) {
        int i = 0;
        while (a < at) { //只要纸张的厚度不超过山峰我就继续折叠
            a *= 2; //一张纸进行折叠，每次折叠都是相当于加了一个本身
            i++; //计数器 记载需要折叠的次数
        }
        return i; //返回折叠的次数
    }

    public static void main(String[] args) {
        double a = 0.01;  //假设一张纸是0.01米
        double at = 8844.48; //设一座山峰有8844.48米高
        int i = count(a, at); //调用方法得出0.01米的纸需要折叠多少次才能超过8844.48米
        System.out.println(i); //打印出需要的折叠次数
    }
*/



/*
    //    使用方法打印出水仙花数，并且将水仙花数返回
    public static int shuixianhau(int i, int p) {
        int ge, shi, bai; //水仙花的取值要求是将一位百位数的个十百位的三次方加起来等于它本身  所以设置三个变量接收每个数的个十百位
        int count = 0; //创建一个变量接收一个有多少个水仙花数
        for (; i < p; i++) { //循环从100开始到999结束  遍历每个数
            ge = i % 10;
            shi = i / 10 % 10;
            bai = i / 100;
            if ((ge * ge * ge) + (shi * shi * shi) + (bai * bai * bai) == i) {
                System.out.println(i);   //打印出水仙花数
                count++;  //能执行这一步的就相当于有一个水仙花数
            }
        }
        return count; //将水仙花总数返回给主方法
    }

    public static void main(String[] args) {
        int i = 100;  //水仙花数的是三位数
        int p = 1000;
        int count = shuixianhau(i, p); //将水仙花数的取值方位传参给方法
        System.out.println(count); //打印出水仙花一个有多少个
    }
*/


/*
public static void main(String[] args) {
        int water1=0;
        int outwater =3;
        int i = 0;
        for(i=1;water1<=10;i++){
            water1 += i;
            water1 -=3;
            if(water1 >=10){
                break;
            }
            if(water1<0){
                water1=0;
            }
        }
        System.out.println("需要"+i+"分钟才能注满水");
    }
 */